package com.fastloan.mgt.verify.service;

import com.fastloan.mgt.customer.model.KXBankCardResult;
import com.fastloan.mgt.verify.model.bankcard.BankCardVerifyParam;
import com.fastloan.mgt.verify.model.bankcard.BankCardVerifyResult;
import com.fastloan.mgt.verify.model.personbank.PersonBankParam;
import com.fastloan.mgt.verify.model.GeneralVerifyResult;
import com.fastloan.mgt.verify.model.tobacco.TobaccoICertificate;

import java.util.function.Consumer;

/**
 * 验证Service
 *
 * @author yanwe
 * createTime 2017-12-2017/12/8 10:03
 */
public interface VerifyService {

    /**
     * 验证银行卡
     *
     * @param bankCardVerifyParam 入参
     * @return 结果
     */
    BankCardVerifyResult verifyBankCard(BankCardVerifyParam bankCardVerifyParam);

    /**
     * 验证人行征信
     *
     * @param personBankParam 验证信息
     * @return 验证结果
     */
    GeneralVerifyResult personBankVerify(PersonBankParam personBankParam);

    /**
     * 验证烟草证
     *
     * @param tobaccoICertificate 验证信息
     * @return 验证结果
     */
    GeneralVerifyResult tobaccoVerify(TobaccoICertificate tobaccoICertificate);

    /**
     * 查询银行卡类型
     *  @param cardNum 卡号
     */
    KXBankCardResult selectBankCardType(String cardNum);
}
